# @Version : 1.0
# @Author : 刘皓
# 字符串是python中很常用的数据类型，通俗来说,字符串就是字符组成的一串内容
# 使用引号('或者")包括起来,创建字符串
# str就是string的缩写,在使用type()查看数据类型的时候,字符串类型显示的是str
# 所以 完全可以说明一点  我自己完全有能力做资料  给自己保留资料


print(type("hello"))
# 双引号里面可以包含单引号
str1 = "tom说'hello'";
print(str1)
str2 = 'jack说"hi"';
print(str2)
print(f"str的类型:{type(str2)}")
# 通过加号可以连接字符串
print("hi:" + "tom")

str4 = r"jack\ntom\tking"
print(str4)
content = '''
    在 3.2.3 版本加入: hash_randomization 属性
在 3.3 版本发生变更: 删除了过时的 division_warning 属性
在 3.4 版本发生变更: 为 -I isolated 标志添加了 isolated 属性。
在 3.7 版本发生变更: 为新的 Python 开发模式 添加了 dev_mode 属性，为新的 -X utf8 标志添加了 utf8_mode 属性。
在 3.10 版本发生变更: 为 -X warn_default_encoding 旗标添加了 warn_default_encoding 属性。
在 3.11 版本发生变更: 添加了用于 -P 选项的 safe_path 属性。
在 3.11 版本发生变更: 增加了 int_max_str_digits 属性。
'''
print(content)

# 需求  使用字符串 拼接的方式 介绍一下我自己 包括名字 职业 住址
name = "刘皓"
job = "程序员"
address = "陕西省西安市长安区"
print(f"的的名字叫做{name}我的职业是{job}我的家庭住址是{address}")

str1 = "Hello"
str2 = "Hello"
str3 = "Hello"
print("str1的地址:", id(str1))
print("str2的地址:", id(str2))
# 可以看到 上面的三个地址都是一样的


str1 = "abc#"
str2 = "abc#"

# PyCharm对字符串进行了优化处理
print("str1地址:", id(str1))
print("str2地址:", id(str2))
# 字符串驻留机制的好处
# 当需要值相同的字符串的时候,可以直接从字符串池子里面拿来使用,避免频繁的创建和销毁,提升效率和节约内存
